SnowParameterUpdate Subroutine

private subroutine SnowParameterUpdate(time)

update parameter map that change in time

Arguments

Type IntentOptional Attributes Name
type(DateTime), intent(in) :: time

Variables

Type Visibility Attributes Name Initial
character(len=300), public :: filename
character(len=300), public :: varname

Source Code

SUBROUTINE SnowParameterUpdate   & 
  !
  (time)       

IMPLICIT NONE

!Arguments with intent(in):
TYPE (DateTime), INTENT (IN) :: time

!local declarations:
CHARACTER (LEN = 300) :: filename
CHARACTER (LEN = 300) :: varname

!------------------------------end of declarations-----------------------------
  
  
  
!melt coefficient
IF (  time == meltCoefficient % next_time ) THEN
   !destroy current grid
   filename = meltCoefficient % file_name
   varname = meltCoefficient % var_name
   CALL GridDestroy (meltCoefficient)
   !read new grid in netcdf file
   CALL NewGrid (meltCoefficient, TRIM(filename), NET_CDF, &
                  variable = TRIM(varname), time = time)
END IF

!melt temperature
IF (  time == meltTemperature % next_time ) THEN
   !destroy current grid
   filename = meltTemperature % file_name
   varname = meltTemperature % var_name
   CALL GridDestroy (meltTemperature)
   !read new grid in netcdf file
   CALL NewGrid (meltTemperature, TRIM(filename), NET_CDF, &
                  variable = TRIM(varname), time = time)
END IF

!upper temperature
IF (  time == upperTemperature % next_time ) THEN
   !destroy current grid
   filename = upperTemperature % file_name
   varname = upperTemperature % var_name
   CALL GridDestroy (upperTemperature)
   !read new grid in netcdf file
   CALL NewGrid (upperTemperature, TRIM(filename), NET_CDF, &
                  variable = TRIM(varname), time = time)
END IF

!lower temperature
IF (  time == lowerTemperature % next_time ) THEN
   !destroy current grid
   filename = lowerTemperature % file_name
   varname = lowerTemperature % var_name
   CALL GridDestroy (lowerTemperature)
   !read new grid in netcdf file
   CALL NewGrid (lowerTemperature, TRIM(filename), NET_CDF, &
                  variable = TRIM(varname), time = time)
END IF

!hydraulic conductivity
IF (  time == snowConductivity % next_time ) THEN
   !destroy current grid
   filename = snowConductivity % file_name
   varname = snowConductivity % var_name
   CALL GridDestroy (snowConductivity)
   !read new grid in netcdf file
   CALL NewGrid (snowConductivity, TRIM(filename), NET_CDF, &
                  variable = TRIM(varname), time = time)
END IF
  
RETURN
END SUBROUTINE SnowParameterUpdate